using System.Collections.Generic;

namespace ExcelTemplateEngine.OpenXML
{
    /// <summary>
    /// 定义名称接口
    /// </summary>
    public interface IDefinedNames
    {
        /// <summary>
        /// 添加定义名称
        /// </summary>
        /// <param name="name">名称</param>
        /// <param name="value">值</param>
        void Add(string name, string value);
        
        /// <summary>
        /// 获取定义名称的值
        /// </summary>
        /// <param name="name">名称</param>
        /// <returns>值</returns>
        string? Get(string name);
        
        /// <summary>
        /// 删除定义名称
        /// </summary>
        /// <param name="name">名称</param>
        /// <returns>是否删除成功</returns>
        bool Remove(string name);
        
        /// <summary>
        /// 获取所有定义名称
        /// </summary>
        /// <returns>名称集合</returns>
        IEnumerable<string> GetAllNames();
    }
}